import 'package:get/get.dart';

import '../../src/base/views/unknow/bindings/unknow_binding.dart';
import '../../src/base/views/unknow/views/unknow_view.dart';
import '../../src/module/auth/login/bindings/login_binding.dart';
import '../../src/module/auth/login/views/login_view.dart';
import '../../src/module/auth/register/bindings/register_binding.dart';
import '../../src/module/auth/register/views/register_view.dart';
import '../../src/module/auth/reset_password/bindings/reset_password_binding.dart';
import '../../src/module/auth/reset_password/views/reset_password_view.dart';
import '../../src/module/chat/chat_detail_page/bindings/chat_detail_page_binding.dart';
import '../../src/module/chat/chat_detail_page/views/chat_detail_page_view.dart';
import '../../src/module/chat/chat_page/bindings/chat_page_binding.dart';
import '../../src/module/chat/chat_page/views/chat_page_view.dart';
import '../../src/module/home/homePage/bindings/home_page_binding.dart';
import '../../src/module/home/homePage/views/home_page_view.dart';
import '../../src/module/home/home_index/bindings/home_index_binding.dart';
import '../../src/module/home/home_index/views/home_index_view.dart';
import '../../src/module/list/doctor/bindings/doctor_binding.dart';
import '../../src/module/list/doctor/views/doctor_view.dart';
import '../../src/module/mine/about_us/bindings/about_us_binding.dart';
import '../../src/module/mine/about_us/views/about_us_view.dart';
import '../../src/module/mine/app_agreements/bindings/app_agreements_binding.dart';
import '../../src/module/mine/app_agreements/views/app_agreements_view.dart';
import '../../src/module/mine/doctor_mine_page/bindings/doctor_mine_page_binding.dart';
import '../../src/module/mine/doctor_mine_page/views/doctor_mine_page_view.dart';
import '../../src/module/mine/mine_page/bindings/mine_page_binding.dart';
import '../../src/module/mine/mine_page/views/mine_page_view.dart';
import '../../src/module/news/newsDetail/bindings/news_detail_binding.dart';
import '../../src/module/news/newsDetail/views/news_detail_view.dart';
import '../../src/module/news/newsList/bindings/news_list_binding.dart';
import '../../src/module/news/newsList/views/news_list_view.dart';

part 'app_routes.dart';

class AppPages {
  AppPages._();

  static const INITIAL = _Paths.LOGIN;
  static GetPage UNKNOW = GetPage(
    name: _Paths.UNKNOW,
    page: () => const UnknowView(),
    binding: UnknowBinding(),
  );

  static final routes = [
    GetPage(
      name: _Paths.LOGIN,
      page: () => const LoginView(),
      binding: LoginBinding(),
    ),
    GetPage(
      name: _Paths.REGISTER,
      page: () => const RegisterView(),
      binding: RegisterBinding(),
    ),
    GetPage(
      name: _Paths.RESET_PASSWORD,
      page: () => const ResetPasswordView(),
      binding: ResetPasswordBinding(),
    ),
    GetPage(
      name: _Paths.APP_AGREEMENTS,
      page: () => const AppAgreementsView(),
      binding: AppAgreementsBinding(),
    ),
    GetPage(
      name: _Paths.ABOUT_US,
      page: () => const AboutUsView(),
      binding: AboutUsBinding(),
    ),
    GetPage(
      name: _Paths.MINE_PAGE,
      page: () => const MinePageView(),
      binding: MinePageBinding(),
    ),
    GetPage(
      name: _Paths.CHAT_PAGE,
      page: () => const ChatPageView(),
      binding: ChatPageBinding(),
    ),
    GetPage(
      name: _Paths.CHAT_DETAIL_PAGE,
      page: () => const ChatDetailPageView(),
      binding: ChatDetailPageBinding(),
    ),
    GetPage(
      name: _Paths.HOME_INDEX,
      page: () => const HomeIndexView(),
      binding: HomeIndexBinding(),
    ),
    GetPage(
      name: _Paths.UNKNOW,
      page: () => const UnknowView(),
      binding: UnknowBinding(),
    ),
    GetPage(
      name: _Paths.HOME_PAGE,
      page: () => const HomePageView(),
      binding: HomePageBinding(),
    ),
    GetPage(
      name: _Paths.DOCTOR_MINE_PAGE,
      page: () => const DoctorMinePageView(),
      binding: DoctorMinePageBinding(),
    ),
    GetPage(
      name: _Paths.DOCTOR,
      page: () => const DoctorView(),
      binding: DoctorBinding(),
    ),
    GetPage(
      name: _Paths.NEWS_LIST,
      page: () => const NewsListView(),
      binding: NewsListBinding(),
    ),
    GetPage(
      name: _Paths.NEWS_DETAIL,
      page: () => const NewsDetailView(),
      binding: NewsDetailBinding(),
    ),
  ];
}
